package com.situ.mall.lambda;

public class LambdaCal {
    public static void main(String[] args) {
        //匿名内部类方式  实现接口 invoke方法
//        invoke 主要是用来调用某个类中的方法的，但是他不是通过当前类直接去调用而是通过反射的机制去调用
        invoke(8, 80, new Calculator() {
            @Override
            public int cal(int a, int b) {
                return a + b;
            }
        });
        //lambda
        invoke(8, 80, (int a, int b) -> {
            return a + b;
        });
        invoke(8, 80, (a, b) -> a + b);
    }


    public static  void invoke(int a, int b, Calculator calculator) {
        int result = calculator.cal(a, b);
        System.out.println("计算结果是：" + result);
    }

}

